In computer systems, in order to start a program on an operating system, a series of start instructions are issued. Start instructions vary between operating systems, but typically involve a script in a file being processed. For example, in Windows (Windows is a trademark of Microsoft Corporation in the United States, other countries, or both), a script in a .bat file starts programs. In IBM® z/OS® (IBM and z/OS are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide) programs may be started by one or more instructions in a job control language (JCL). In z/OS programs may also be started by the direct input of a start command by a user and are referred to as started tasks or jobs. When a program is started it is commonly assigned an address space in which to operate.
On larger computers, such as multiuser systems or mainframes, there may be many programs running simultaneously each having an associated address space. Programs may have been started by many different users, at different times and may remain active for days or months. In some situations it may be desirable to stop or restart the programs in a selected address space, for example, to clone the address space or to enable the running program to be maintained with program updates. However, in order to control a program in a selected address space it is necessary to identify its start command. Typically identifying the start commands for a set of address spaces is performed manually since start commands cannot generally be derived directly from the address space itself. Thus deriving the relevant start commands is an error prone, complex and often significantly time consuming operation.